# 导包
import requests
from common.ihrm_login import ihrm_login
from config import host

# 1-定义类（1个模块）
class IhrmUserApi:
    # 2-定义类属性
    add_url = host+"/api/sys/user"
    user_url = host+"/api/sys/user/"  # 注意尾部加上斜杠
    head = {"Authorization": ihrm_login()}  # 定义请求头  ihrm_login()函数会自动执行登录，并返回token

    # 3-定义类方法:添加员工（1个接口）
    @classmethod
    def ihrm_user_add(cls,add_json):  # 对于数量变化的数据，可以整体作为一个参数传递
        # 4-执行接口请求
        resp = requests.post(url=cls.add_url,json=add_json,headers=cls.head)
        # 5-返回响应对象
        return resp

    # 4-修改员工接口
    @classmethod
    def ihrm_user_edit(cls,user_id,edit_json):
        # 执行接口请求
        req_url = cls.user_url + str(user_id)  # 拼接请求的url
        resp = requests.put(url=req_url,json=edit_json,headers=cls.head)
        # 返回响应结果
        return resp
    
    # 5-删除员工接口
    @classmethod
    def ihrm_user_delete(cls,user_id):
        # 执行接口请求
        req_url = cls.user_url + str(user_id)  # 拼接请求的url
        resp = requests.delete(url=req_url,headers=cls.head)
        # 返回响应结果
        return resp

    # 6-查询员工接口
    @classmethod
    def ihrm_user_get(cls,user_id):
        # 执行接口请求
        req_url = cls.user_url + str(user_id)  # 拼接请求的url
        resp = requests.get(url=req_url,headers=cls.head)
        # 返回响应结果
        return resp

    # 7-员工管理列表
    @classmethod
    def ihrm_user_list(cls,page=1,size=10):   # 使用缺省参数设定默认值，调用时可以不传递参数，也可以传递想要的参数
        # 4-执行接口请求
        req_params = {"page":page,"size":size}  # 定义查询参数 dict
        resp = requests.get(url=cls.add_url,params=req_params,headers=cls.head)
        # 5-返回响应对象
        return resp
